﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Diagram
{
    [Serializable]
    public class Atrybut : Element
    {
        public Atrybut(ModelUML.AtrybutUML atrybut)
        {
            element = atrybut;
        }
        public Atrybut(String nazwa, String nazwaTypu)
        {
            ModelUML.TypDanychUML typ = null;
            foreach (ModelUML.ElementUML el in ModelDiagramu.model.Elementy) 
            {
                if (el.JestTypemDanych)
                {
                    if (((ModelUML.TypDanychUML)el).Nazwa.Equals(nazwaTypu))
                    {
                        typ = (ModelUML.TypDanychUML)el;
                        break;
                    }
                }
            }
            //if (typ == null) throw new Exception("Dodawany typ musi być standardowym typem danych!");
            if (typ == null)
            {
                typ = ModelDiagramu.Model.DodajPrymityw(nazwaTypu);
            }

            ModelUML.AtrybutUML atrUML = new ModelUML.AtrybutUML(nazwa, typ);
            element = atrUML;
        }
        
        public TypDanych Typ
        {
            get
            {
                return new TypDanych(((ModelUML.AtrybutUML)element).Typ);
            }
            set
            {
                ((ModelUML.AtrybutUML)element).Typ = (ModelUML.TypDanychUML)value.element;
            }
        }
    }
}
